Ubuntu系统SSD硬盘优化全记录 |
您所在的位置:网站首页 › linux 固态硬盘优化 › Ubuntu系统SSD硬盘优化全记录 |
固态硬盘(64G,2.5寸,SATA3.0)装入原先的硬盘位置,购买一个光驱位硬盘托架,将机械硬盘(500G)装入原先的光驱位置。这几种材料都已经很常见,笔记本外观不会有什么瑕疵。 系统安装 1.下载Ubuntu光盘镜像 2.利用u盘安装 此时,计算机已经没有光驱可用,利用UltraISO的“写入硬盘镜像”将ISO文件写入u盘中。 3.安装 大部分过程与普通安装方法一致,/挂载点分配20G,/home挂载点分配其他SSD容量,再新创建一个/store挂载点分配所有的机械硬盘容量。所有的分区格式都选ext4。 优化设置 这部分重点介绍。 1.使用Ext4 without journaling文件系统 传统的SSD+Linux组合一般推荐Ext2文件系统,主要是考虑到Ext3、Ext4需要额外的记录日志,会缩短SSD使用寿命,而且新出现的TRIM技术在Ext2中有两个缺点: 仅支持离线TRIM,换句话说文件系统必须只读挂载; 需要手动执行hdparm命令或wiper.sh脚本。 Ext4则没有这些限制,允许TRIM后台运行,并且日志记录功能可以手动关闭(没有日志的情况下,文件系统更容易损坏,如突然断电),如果你甘愿冒这样的风险,从而延长SSD使用寿命,值得一试。另外,许多测试中如:Testing EXT4 & Btrfs On A Serial ATA 3.0 SSD,像Btrfs这样为SSD准备的文件系统不如Ext4速度快(用SSD不就为了快么)。 所以,上面安装系统时,选择了Ext4系统,接下来需要关闭日志功能。 首先,系统挂载时无法停用日志功能,所以需要进入刚才的U盘系统,利用root权限执行: tune2fs -O ^has_journal /dev/sda1 即关闭/dev/sda1上的日志功能。 然后,运行操作系统检测: e2fsck -f /dev/sda1 不这样,文件系统可能会出错。 最后,重启,进入SSD中的系统,检查是否设置成功: dmesg | grep EXT4 如果出现: EXT4-fs (sda1): mounted filesystem without journal 说明设置成功。 原来是:mounted filesystem with ordered data mode 如果需要再次开启日志功能,只要运行tune2fs -O has_journal /dev/sda1即可。 2.开启TRIM功能 TRIM是一种操作系统调度SSD块写入的方式。主要是因为同一个SSD的闪存单元频繁操作会磨损,影响使用寿命,区别于传统的机械硬盘处理删除数据。Linux内核自2.6.33开始支持TRIM。 首先,检查内核版本是否支持TRIM: uname -a 然后,检查SSD硬盘是否支持TRIM: hdparm -I /dev/sda 如果显示比如(不同硬件可能不同提示): * Data Set Management TRIM supported 说明支持。 这两个条件都满足,在/etc/fstab中将: /dev/sda1 / ext4 defaults 改为: /dev/sda1 / ext4 discard,defaults 分区、挂载点、已经存在的选项不一定一样。 测试新的fstab文件: mount -oremount /dev/sda1 然后挂载: mount 如果显示discard字样,说明成功,如: /dev/sda1 on / type ext4 (rw,discard) 3.swap空间处理 对于大内存来说swap基本上都是空闲的,除非电脑进入休眠状态,系统会将内存内容转到swap中。有了SSD,开关机都在几秒中,对我来说swap没用,所以上面直接不分配swap空间。 如果分配了也行,空间要小,而且通过设置/proc/sys/vm/swappiness里面的值,来减少swap换出量: echo 1 > /proc/sys/vm/swappiness 0到100之间,值越大换出量越大。 4.设置noatime 当访问文件时,系统会更新last-access这个文件/目录元数据,设置noatime后可以减少这种操作。 将2步中的: /dev/sda1 / ext4 discard,defaults 改为: /dev/sda1 / ext4 noatime,discard,defaults 测试设置成功方法与上面一样。 5.使用noop磁盘调度 通常操作系统调度机械硬盘时会提供一些数据的物理位置,这样有利于机械硬盘优化寻道,但是对SSD没意义,所以采用noop磁盘调度,即简单发送请求,可以提高效率。 可以通过以下命令查看调度方法: cat /sys/block/sda/queue/scheduler 比如显示: [noop] deadline cfq 在/etc/rc.local中添加如下语句: echo noop > /sys/block/sda/queue/scheduler 6.内存分区加速 如果内存够大,可以用ramdisk的方式,将一些经常变化的位置如/tmp放入内存,加快速度,减少对SSD的访问。 依然是加在/etc/fstab中: tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0 更新方法与2相同,记得将浏览器等程序的缓存目录设置到/tmp下。 所有的配置完成后,效果如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |